/************************/
/*	mouse.h				*/
/************************/
#ifndef _MOUSE_H_
#define _MOUSE_H_

//#include "menu.h"

// ????�֢t

#define	MOUSE_NO_CRICK						0		// ???????
#define	MOUSE_LEFT_CRICK			( 1 << 0 )		// ?????�֢t
#define	MOUSE_RIGHT_CRICK			( 1 << 1 )		// ?????�֢t
#define	MOUSE_LEFT_CRICK_UP			( 1 << 2 )		// ????????�֢t
#define	MOUSE_RIGHT_CRICK_UP		( 1 << 3 )		// ????????�֢t
#define	MOUSE_LEFT_DBL_CRICK		( 1 << 4 )		// ????????�֢t
#define	MOUSE_RIGHT_DBL_CRICK		( 1 << 5 )		// ????????�֢t
//#define	MOUSE_LEFT_AUTO_CRICK		( 1 << 6 )		// ????????�֢t
//#define	MOUSE_RIGHT_AUTO_CRICK		( 1 << 7 )		// ????????�֢t

// ?????��  ?�B�l
typedef struct{
	int x, y;	// ????( ?,? )?��
}MOUSE_POINT;

// ????�B�l
typedef struct{
	MOUSE_POINT nowPoint;			// ????????��
	MOUSE_POINT crickLeftDownPoint;	// ???????????????��
	MOUSE_POINT crickLeftUpPoint;	// ?????????????????��
	MOUSE_POINT crickRightDownPoint;// ???????????????��
	MOUSE_POINT crickRightUpPoint;	// ?????????????????��
	int			state;				// ???????�֢t????????
	int			onceState;			// ???????�֢t????????????????�k?�V?
	int			autoState;			// ???????�֢t???????
	unsigned int 		beforeLeftPushTime;	// ??????????????
	unsigned int 		leftPushTime;		// ??????????????
	unsigned int 		beforeRightPushTime;// ??????????????
	unsigned int 		rightPushTime;		// ??????????????
	unsigned char		level;				// ?????????????
	int 		itemNo;				// ?????????????�k?
	bool flag;						// ????????����?������???
}MOUSE;

// ?????  ???
extern MOUSE mouse;

// ????????????????�k????????
extern int HitFontNo;
// ?????????????????????????????
extern int HitDispNo;

// ??????��??
extern char OneLineInfoStr[];

// ����?????��
extern int BoxColor;

// ???�ѩ�???? ////////////////////////////////////////////////////////
void MouseInit( void );

// ????????�t????? //////////////////////////////////////////////
void MouseNowPoint( int x, int y );

// ????????????????????�t????? //////////////////////
void MouseCrickLeftDownPoint( int x, int y );

// ????????????????????�t????? //////////////////////
void MouseCrickLeftUpPoint( int x, int y );

// ????????????????????�t????? //////////////////////
void MouseCrickRightDownPoint( int x, int y );

// ????????????????????�t????? //////////////////////
void MouseCrickRightUpPoint( int x, int y );

// ??????????????????�t????? //////////////////////////
void MouseDblCrickLeftUpPoint( int x, int y );

// ??????????????????�t????? //////////////////////////
void MouseDblCrickRightUpPoint( int x, int y );

// ?????  ///////////////////////////////////////////////////////////////
void MouseProc( void );

/* ???????????�R�e **************************************************/
void HitMouseCursor( void );

void ShowBottomLineString(int iColor, char* lpstr);

#endif
